#ifndef PLATFORM_CONFIG_H
#define PLATFORM_CONFIG_H

#define PLATFORM_UNKOWN              0
#define PLATFORM_WINDOWS             1
#define PLATFORM_MAC                 2
#define PLATFORM_IOS                 3
#define PLATFORM_ANDROID             4

#define TARGET_PLATFORM              PLATFORM_UNKOWN

// Apple: Mac and iOS
#if defined(__APPLE__) && !defined(ANDROID) // exclude android for binding generator.
#include <TargetConditionals.h>
#if TARGET_OS_IPHONE // TARGET_OS_IPHONE includes TARGET_OS_IOS TARGET_OS_TV and TARGET_OS_WATCH. see TargetConditionals.h
#undef  TARGET_PLATFORM
#define TARGET_PLATFORM			PLATFORM_IOS
#elif TARGET_OS_MAC
#undef  TARGET_PLATFORM
#define TARGET_PLATFORM			PLATFORM_MAC
#endif
#endif

// android
#if defined(ANDROID)
#undef  TARGET_PLATFORM
#define TARGET_PLATFORM			PLATFORM_ANDROID
#endif

// win32
#if defined(_WIN32)
#undef  TARGET_PLATFORM
#define TARGET_PLATFORM			PLATFORM_WINDOWS
#endif

#endif
